package com.example.clxy.dao;

import com.example.clxy.entity.Wlclass;
import com.example.clxy.result.WebRestResult;
import com.example.clxy.result.business.GradeClassResult;
import com.example.clxy.result.business.GradeResult;
import com.example.clxy.result.business.PageResult.ClassPageResult;
import com.example.clxy.result.business.WlClassResult;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface WlclassMapper {
    int deleteByPrimaryKey(String wlclassid);

    int deleteWlclass(String classid);

    int insert(Wlclass record);

    int insertSelective(Wlclass record);

    Wlclass selectByPrimaryKey(String wlclassid);

    int updateByPrimaryKeySelective(Wlclass record);

    int updateByPrimaryKey(Wlclass record);

    List<GradeResult> getAllGrade();

    List<GradeClassResult> getClassBySchedule(@Param("scheduleid")  String scheduleid);

    List<GradeClassResult> getClassByGrade(@Param("grade")  String grade);

    List<ClassPageResult> getClassList(@Param("teacherid") String teacherid,
                                                            @Param("semesterid") String semesterid,
                                                            @Param("classname") String classname,
                                                            @Param("grade") String grade,
                                                            @Param("begin") int begin,
                                                            @Param("end") int end,
                                                            @Param("pagesize") int pagesize);


    List<WlClassResult> getWlClassResults(@Param("experimentid") String experimentid,
                                          @Param("startdate") String startdate,
                                          @Param("semesterid") String semesterid);

    int getStudentNumByClass(String wlclassid);

    List<ClassPageResult> getWlclassList(@Param("begin")int begin,
                                         @Param("end") int end,
                                         @Param("pagesize") int pagesize,
                                         @Param("wlclassname") String wlclassname,
                                         @Param("grade") String grade);

    WlClassResult getWlclassById(String wlclassid);
}